Page({
    data: {
      applicant: '', // 申领人姓名
      startDate: '', // 开始日期
      endDate: '',   // 结束日期
      records: [],   // 历史记录列表
      applicationDate: '', //申请日期
      approvalDate: '',

    },
    
    formatDate(dateString) {
        console.log('传入的日期字符串:', dateString); // 添加调试日志
        if (!dateString) return ''; // 如果日期为空，返回空字符串
      
        let date;
        try {
          date = new Date(dateString);
          if (isNaN(date.getTime())) {
            console.error('无效的日期格式:', dateString);
            return '';
          }
        } catch (err) {
          console.error('日期解析失败:', err);
          return '';
        }
      
        return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
    },  

    onApplicantInput(e) {
      this.setData({ applicant: e.detail.value });
    },
  
    onStartDateChange(e) {
      this.setData({ startDate: e.detail.value });
    },
  
    onEndDateChange(e) {
      this.setData({ endDate: e.detail.value });
    },
    
   

    // 获取历史记录
    async fetchHistory() {
      const { applicant, startDate, endDate } = this.data;
  
      try {
        const res = await wx.cloud.callFunction({
          name: 'getHistoryRecords',
          data: { applicant, startDate, endDate },
        });
  
        if (res.result.success) {

            console.log('获取的历史记录:', res.result.data); // 打印返回的数据


            // console.log('申请时间是:', res.result.data[0].applicationDate);
            // this.setData({ applicationDate: this.formatDate(res.result.data[0].applicationDate)});
            // this.setData({ approvalDate: this.formatDate(res.result.data[0].approvalDate)});
            //  自修改
             // 检查 res.result.data 是否存在且不为空
         if (res && res.result && res.result.data && res.result.data.length > 0) {
            const firstRecord = res.result.data[0];
  
    // 检查 applicationDate 和 approvalDate 是否存在
             if (firstRecord.applicationDate) {
               this.setData({
                 applicationDate: this.formatDate(firstRecord.applicationDate)
                });
            } else {
               console.warn('applicationDate is undefined');
            }
  
            if (firstRecord.approvalDate) {
             this.setData({
               approvalDate: this.formatDate(firstRecord.approvalDate)
              });
             } else {
              console.warn('approvalDate is undefined');
             }
        } else {
           console.warn('res.result.data is empty or undefined');
        }
             


            //  自修改

            this.setData({ records: res.result.data });

        } else {
          wx.showToast({ title: res.result.message, icon: 'none' });
        }
      } catch (err) {
        wx.showToast({ title: '查询失败，请稍后重试！！', icon: 'none' });
        console.error(err);
      }
    },
  
    // 导出 Excel
    async exportToExcel() {
      try {
        const res = await wx.cloud.callFunction({
          name: 'exportToExcel',
          data: { records: this.data.records }, // 将当前页面的记录传递给云函数
        });
  
        if (res.result.success) {
          // 下载文件
          const downloadRes = await wx.cloud.downloadFile({
            fileID: res.result.fileID,
          });
  
          if (downloadRes.statusCode === 200) {
            // 打开文件预览
            wx.openDocument({
              filePath: downloadRes.tempFilePath,
              fileType: 'xlsx',
              success: () => {
                wx.showToast({ title: '文件已打开', icon: 'success' });
              },
              fail: () => {
                wx.showToast({ title: '文件打开失败', icon: 'none' });
              },
            });
          } else {
            wx.showToast({ title: '文件下载失败', icon: 'none' });
          }
        } else {
          wx.showToast({ title: res.result.message, icon: 'none' });
        }
      } catch (err) {
        wx.showToast({ title: '导出失败，请稍后重试', icon: 'none' });
        console.error(err);
      }
    },
  
    // 日期格式化过滤器
    // formatDate(dateString) {
    //   if (!dateString) return '';
    //   const date = new Date(dateString);
    //   return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
    // },
    // 日期格式化过滤器
       // 日期格式化过滤器
    formatDate(dateString) {
        console.log('传入的日期字符串:', dateString); // 添加调试日志
        if (!dateString) return ''; // 如果日期为空，返回空字符串
      
        let date;
        try {
          date = new Date(dateString);
          if (isNaN(date.getTime())) {
            console.error('无效的日期格式:', dateString);
            return '';
          }
        } catch (err) {
          console.error('日期解析失败:', err);
          return '';
        }
      
        return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
    }, 

    onLoad() {
      this.fetchHistory(); // 页面加载时获取历史记录
    },
  });